﻿#pragma once

// For use by Hazal applications
#include "SourceCode/Base/Application.h"
#include "SourceCode/Base/Input.h"
#include "SourceCode/Base/Log.h"
#include "SourceCode/Base/Layer.h"
#include "SourceCode/Base/KeyCodes.h"
#include "SourceCode/Base/MouseButtonCodes.h"
#include "SourceCode/Base/OrthographicCameraControll.h"
#include "SourceCode/Events/KeyEvent.h"

// -----------  Entity ---------------
#include "SourceCode/Scene/Components.h"
#include "SourceCode/Scene/Entity.h"
#include "SourceCode/Scene/Scene.h"
#include "SourceCode/Scene/SceneSerializer.h"
#include "SourceCode/Scene/ScriptableEntity.h"

// ----------  Renderer --------------
#include "SourceCode/Renderer/Renderer.h"
#include "SourceCode/Renderer/Renderer2D.h"

#include "SourceCode/Renderer/Shader.h"
#include "SourceCode/Renderer/Buffer.h"
#include "SourceCode/Renderer/Texture.h"
#include "SourceCode/Renderer/Framebuffer.h"
#include "SourceCode/Renderer/VertexArray.h"
#include "SourceCode/Renderer/SubTexture2D.h"

#include "SourceCode/Renderer/EditorCamera.h"
#include "SourceCode/Renderer/OrthoGraphicCamera.h"
// -----------------------------------

// ------------- Utils ---------------
#include "SourceCode/Math/Math.h"
#include "SourceCode/Utils/PlatformUtils.h"
// -----------------------------------

#include "SourceCode/ImGui/ImGuiLayer.h"